OpenClaw Browser Relay 局域网
🔌 OpenClaw Browser Relay 局域网连接方案
解决部署在局域网 环境中的 OpenClaw 需要复用本机 Chrome Cookie 和用户身份信息时,无法直接连接 Browser Relay 的问题。

📖 问题背景
OpenClaw 的 Browser Relay 功能让你可以直接控制本机 Chrome 浏览器,复用现有的 Cookie 登录态和身份信息,非常适合自动化网页操作、爬取数据、测试等场景。
但当 OpenClaw 部署在局域网 Docker 中或者远程服务器上时,会遇到一个问题:浏览器插件运行在你的本机电脑上,而 OpenClaw 服务在另一台机器上,网络不通无法直接连接。
本文提供一套完整的解决方案,通过 TCP 端口转发 + SSH 隧道 实现局域网跨机器连接。
🏗️ 整体架构
本机 Chrome 浏览器 <-> Browser Relay 插件 <-> SSH 隧道 <-> 局域网 Docker/服务器 <-> OpenClaw Browser Relay 服务
🛠️ 步骤一:浏览器安装 OpenClaw Browser Relay 插件
- 从 Chrome 应用商店搜索 “OpenClaw Browser Relay” 安装,或者从官方提示安装。
- 安装完成后,浏览器工具栏会出现扩展图标。
🚀 步骤二:配置端口转发(关键一步)
根据你的 OpenClaw 部署方式选择对应的配置:
方式 A:Docker Compose 部署(推荐)
在你的 compose.yml 中添加 TCP 转发命令和端口映射:
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
# ... 其他配置保持不变
command:
- sh
- "-c"
- |
# 启动 TCP Proxy(在后台运行)
node -e "const net=require('net');net.createServer(c=>{const p=net.connect(18792,'127.0.0.1');p.on('error',()=>{});c.on('error',()=>{});c.pipe(p).pipe(c);}).listen(18793,'0.0.0.0',()=>console.log('✅ TCP Proxy running'));" &
exec node dist/index.js gateway --bind lan --port 18789
ports:
- "xxxx:xxxx" # ... 其他端口映射保持不变
- "18792:18793" # 👈 添加这一行,将容器内 18793 转发到宿主机 18792
简单解释:
18792是 Browser Relay 服务默认监听端口- 在容器内部用一个简单的 Node.js TCP 代理将
127.0.0.1:18792暴露到0.0.0.0:18793 - 再通过 Docker 端口映射
18792:18793,让宿主机可以访问
方式 B:本地/裸机部署
直接执行步骤 三
🔌 步骤三:开启 SSH 隧道映射
在你的本机电脑上执行这条 SSH 命令,将局域网服务器的 18792 端口映射到本机:
ssh -L 18792:127.0.0.1:18792 username@局域网服务器IP
参数说明:
18792:<局域网IP>:18792将本机127.0.0.1:18792映射到远程服务器的18792端口username@局域网服务器IP是你的 SSH 登录账号和地址
保持这个 SSH 连接处于打开状态,隧道就一直通着。
💡 如果你想让隧道在后台运行,可以加上
-fN参数:ssh -fN -L 18789:127.0.0.1:18789 username@局域网服务器IP
✅ 步骤四:插件配置连接
- 点击 Chrome 工具栏的 OpenClaw Browser Relay 扩展图标
- 在弹出的配置页面中,输入 Token(从 OpenClaw 后台获取)
- 点击「保存」,插件会自动连接到本机映射的
127.0.0.1:18792 - 连接成功后,扩展图标 badge 会变成绿色,表示已连接
🧪 测试连接
回到 OpenClaw,执行以下命令测试是否连接成功:
openclaw browser profiles
正常可以看到输出:
chrome: running (1 tabs)
port: 18792, color: #00AA00
🚑 常见问题排查
Q1: 插件连接提示「连接失败」或「超时」?
- 原因1: 防火墙阻挡。检查 OpenClaw 服务器的防火墙是否放行
18792端口。 - 原因2: SSH 隧道没有建立成功。检查 SSH 连接是否正常,端口映射是否正确。
- 原因3: Docker 端口映射写错了,确认是
18792:18793,不是18793:18792。
Q2: OpenClaw 能看到服务运行,但获取不到标签页?
- 确认插件已经点击图标连接,badge 是绿色的。
- 刷新一下浏览器页面,重新连接插件。
Q3: 连接成功,但操作浏览器时报错?
- 检查 Node.js 版本,OpenClaw 需要 Node.js 18+ 支持。
- 确认 TCP 代理命令正确复制,没有少字符。
🎯 总结
通过这套方案,你可以:
- ✅ 在 Docker/远程服务器部署 OpenClaw,仍然能使用本机 Chrome
- ✅ 完整复用浏览器 Cookie 和登录态,无需重复登录
- ✅ 利用 SSH 隧道加密传输,安全可靠
- ✅ 配置简单,只需要几行命令即可完成
享受 Browser Relay 带来的便利吧!🚀